HTTP ETag

ETag или entity tag — один из регламентируемых спецификацией RFC 7232, служебных заголовков протокола HTTP/1.1, который может быть установлен веб-сервером в фазе формирования ответа, на полученный от клиента запрос. Содержимое заголовка ETag является идентификатором, значение которого прямо зависит от состояния загружаемого клиентом ресурса. В дальнейшем, этот идентификатор используется с целью сопоставления состояния загруженного ресурса его оригиналу, расположенному на Веб-сервере, что достигается путём отправки серверу HTTP/1.1 запроса с указанием ETag-идентификатора как значения заголовка - If-None-Match. Сервер, обнаружив такой заголовок, на основании сравнения его значения с текущим состоянием ресурса, сообщает клиенту о том, что копия, хранящаяся в кэше клиента, актуальна, т.е. необходимости в повторной загрузке нет, или, в противном случае, необходима загрузка актуальной версии.

ETag — это закрытый идентификатор, присвоенный веб-сервером определённой версии ресурса, находящегося по указанному URL. Если содержание ресурса для этого адреса меняется на новое, назначается и новый ETag. Использование в таком ключе ETags аналогично использованию отпечатков пальцев: можно быстро сравнить и определить, являются ли две версии ресурса одинаковыми или нет. Сравнение ETag имеет смысл только c Etag с одного и того же URL; идентификаторы, полученные из разных URL-адресов, могут быть равны, а могут быть и нет, вне зависимости от ресурсов, так что их сравнение не имеет какого-либо смысла.


From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne